import Vue from "vue"

// import _ from 'lodash'

Vue.prototype.$validator = {

  isFloat(rule, value, callback) {
    if (isNaN(value)) {
      callback("不是合法的小数");
      return;
    }
    if (rule.required) {
      if (value === null || value === undefined) {
        callback("值不能为空");
        return;
      }
    }
    let pattern = rule.pattern || 4;
    let max = rule.max;
    if (max !== undefined && value > max) {
      callback(rule.message || "最大值不能超过:" + max);
      return;
    }
    let min = rule.min;
    if (min !== undefined && value < min) {
      callback(rule.message || "最小值不能小于:" + min);
      return;
    }
    new RegExp("^([0-9]+$)|(^[0-9]+\\.?[0-9]{1," + pattern + "}$)")
      .test(value) ? callback() : callback(rule.message || "最多保留" + pattern + "位小数");
  },
  // isNumber(rule, value, callback) {
  //   if (!rule.required && StringUtils.isEmpty(value)) {
  //     callback();
  //     return;
  //   }
  //   if (rule.whitespace && StringUtils.isBlank(value)) {
  //     callback("值不能为空白字符串");
  //     return;
  //   }
  //   let max = rule.max;
  //   if (max !== undefined && value > max) {
  //     callback(rule.message || "最大值不能超过:" + max);
  //     return;
  //   }
  //   let min = rule.min;
  //   if (min !== undefined && value < min) {
  //     callback(rule.message || "最小值不能小于:" + min);
  //     return;
  //   }
  //   isNaN(parseInt(value)) ? callback("不是合法的整数") : callback();
  // },
  //
  // /**
  //  * 判断是否为手机号
  //  * @param rule
  //  * @param value
  //  * @param callback
  //  */
  isPhone(rule, value, callback) {
    if (rule.required) {
      if (value === null || value === undefined || "" === value.toString()) {
        callback("值不能为空");
        return;
      }
    }
    /^(1[3-9][0-9])\d{8}$/.test(value) ? callback() : callback(rule.message || "不是合法的手机号");
  },
  //
  // /**
  //  * 判断是否为邮箱
  //  * @param rule
  //  * @param value
  //  * @param callback
  //  */
  // isPosOffice(rule, value, callback) {
  //   if (!rule.required && StringUtils.isEmpty(value)) {
  //     callback();
  //     return;
  //   }
  //   if (rule.whitespace && StringUtils.isBlank(value)) {
  //     callback("值不能为空白字符串");
  //     return;
  //   }
  //   /[1-9]\d{5}(?!\d)/.test(value) ? callback() : callback(rule.message || "不是合法的邮政编号")
  // }

};
